package com.houweishi.module.wageOperateHistroy.mapper;

import com.houweishi.module.wageOperateHistroy.domain.WageOperateHistory;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 工资计算历史Mapper接口
 * 
 * @author yqq
 * @date 2023-06-26
 */
public interface WageOperateHistoryMapper 
{
    /**
     * 查询工资计算历史
     * 
     * @param id 工资计算历史主键
     * @return 工资计算历史
     */
    public WageOperateHistory selectWageOperateHistoryById(Long id);

    /**
     * 查询工资计算历史列表
     * 
     * @param wageOperateHistory 工资计算历史
     * @return 工资计算历史集合
     */
    List<WageOperateHistory> selectWageOperateHistoryList(WageOperateHistory wageOperateHistory);

    /**
     * 新增工资计算历史
     * 
     * @param wageOperateHistory 工资计算历史
     * @return 结果
     */
    public int insertWageOperateHistory(WageOperateHistory wageOperateHistory);

    /**
     * 修改工资计算历史
     * 
     * @param wageOperateHistory 工资计算历史
     * @return 结果
     */
    public int updateWageOperateHistory(WageOperateHistory wageOperateHistory);

    /**
     * 删除工资计算历史
     * 
     * @param id 工资计算历史主键
     * @return 结果
     */
    public int deleteWageOperateHistoryById(Long id);

    /**
     * 批量删除工资计算历史
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWageOperateHistoryByIds(Long[] ids);

    /**
     * 批量新增工资历史记录
     * @param wageOperateHistoryList
     */
    void insertBathWageOperateHistory(List<WageOperateHistory> wageOperateHistoryList);

    /**
     * 删除工资计算历史信息
     * @param company 公司
     * @param attendanceDate 考勤月份
     */
    void deleteWageOperateHistoryByCompanyAndAttendanceDate(@Param("company") String company, @Param("attendanceDate")String attendanceDate);

    /**
     * 公开当月薪资
     * @param company
     * @param attendanceDate
     */
    void publicToStaff(@Param("company") String company, @Param("attendanceDate")String attendanceDate);
}
